package com.zalyyh.advertisement.pangolin

import android.content.Context
import com.bytedance.embedapplog.AppLog
import com.bytedance.sdk.openadsdk.TTAdConfig
import com.bytedance.sdk.openadsdk.TTAdConstant
import com.bytedance.sdk.openadsdk.TTAdManager
import com.bytedance.sdk.openadsdk.TTAdSdk


//线程安全的懒汉式
class Configure private constructor() {
    companion object {
        private var instance: Configure? = null
            get() {
                if (field == null) {
                    field = Configure()
                }
                return field
            }
        private var sInit = false
        @Synchronized
        fun get(): Configure {
            return instance!!
        }
    }

    fun getManager(): TTAdManager {
        if (!sInit) {
            throw RuntimeException("TTAdSdk is not init, please check.")
        }
        return TTAdSdk.getAdManager()
    }
    fun initSdk(context: Context){
         doInit(context)
    }
    //step1:接入网盟广告sdk的初始化操作，详情见接入文档和穿山甲平台说明
    private fun doInit(context: Context) {
        if (!sInit) {
            TTAdSdk.init(context, buildConfig(context))
            sInit = true
        }
    }

    private fun buildConfig(context: Context): TTAdConfig {

        return TTAdConfig.Builder()
            .appId("5041787")
            .useTextureView(true) //使用TextureView控件播放视频,默认为SurfaceView,当有SurfaceView冲突的场景，可以使用TextureView
            .appName("爱玩消星星")
            .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)
            .allowShowNotify(true) //是否允许sdk展示通知栏提示
            .allowShowPageWhenScreenLock(true) //是否在锁屏场景支持展示广告落地页
            .debug(true) //测试阶段打开，可以通过日志排查问题，上线时去除该调用
            .directDownloadNetworkType(
                TTAdConstant.NETWORK_STATE_WIFI,
                TTAdConstant.NETWORK_STATE_3G
            ) //允许直接下载的网络状态集合
            .supportMultiProcess(false)//是否支持多进程
            //.httpStack(new MyOkStack3())//自定义网络库，demo中给出了okhttp3版本的样例，其余请自行开发或者咨询工作人员。
            .build()


    }

}